﻿using AgencyManagerSystem.AsmType;
using AgencyManagerSystem.Common;
using AgencyManagerSystem.DataFetcher;
using AgencyManagerSystem.DataUpdater;
using AgencyManagerSystem.Model;
using System;
using System.Collections.Generic;


namespace AgencyManagerSystem.Core.Utility
{
    public abstract class StatusMainDetailManager<TMain, TDetail>:MainDetailManager<TMain,TDetail>  where TMain : StatusModel where TDetail : DBModel
    {
        protected override MainDetailUpdater<TMain, TDetail> InjectionMainDetailUpdater()
        {
            return InjectionStatusMainDetailUpdater();
        }
        protected abstract StatusMainDetailUpdater<TMain, TDetail> InjectionStatusMainDetailUpdater();
        public StatusMainDetailManager() : base()
        {
            this.mainDetailUpdater = InjectionMainDetailUpdater();
        }
    }
}
